﻿using AVIS.OutBound.Stores;
using AVIS.OutBound.WizardAgent;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AVIS.OutBound.CarGroups
{
    public interface ICarGroupManager
    {
        /// <summary>
        /// 获取指定套餐的车组列表
        /// </summary>
        /// <returns></returns>
        List<CarGroup> GetCarGroups(AgentCarGroupsRequest request);

        /// <summary>
        /// 获取指定SIPPCode和RateCode的单个车组信息（包含增值服务）
        /// </summary>
        /// <returns>单个车组信息</returns>
        CarGroup GetCarGroup(AgentCarEquipmentRequest request);

        /// <summary>
        /// 构建车组信息（结合本地数据库和Wizard接口的车组信息）
        /// </summary>
        /// <param name="dto">Wizard返回的车组信息</param>
        /// <param name="pickUpStore">取车门店</param>
        /// <param name="isSimple">是否采用简要数据信息</param>
        /// <returns></returns>
        CarGroup BuildCarGroup(CarGroupDto dto, Store pickUpStore, bool isSimple = false);
    }
}
